@turf/point-on-line
pointOnLine
Takes a Point and a LineString and calculates the closest Point on the LineString.
Parameters
Examples
var line = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[-77.031669, 38.878605],
[-77.029609, 38.881946],
[-77.020339, 38.884084],
[-77.025661, 38.885821],
[-77.021884, 38.889563],
[-77.019824, 38.892368]
]
}
};
var pt = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-77.037076, 38.884017]
}
};
var snapped = turf.pointOnLine(line, pt, 'miles');
snapped.properties['marker-color'] = '#00f'
var result = {
"type": "FeatureCollection",
"features": [line, pt, snapped]
};
Returns Feature<Point> closest point on the line
to point
. The properties object will contain three values: index
: closest point was found on nth line part, dist
: distance between pt and the closest point, location
: distance along the line between start and the closest point.
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/point-on-line
Or install the Turf module that includes it as a function:
$ npm install @turf/turf